const mysql = require('mysql')
const dbConfig = require('../config/dbConfig.json')
// 创建mysql连接池
const pool = mysql.createPool({
  ...dbConfig,
})

function excuteSql(sql) {
  return new Promise((resolve, reject) => {
    // 从连接池中获取一个连接
    pool.getConnection((err, connection) => {
      if (err) {
        console.error('mysql链接池获取失败:', err)
        return
      }

      // 编写sql语句去操作数据库
      pool.query(sql, (err, result) => {
        if (err) {
          reject(err)
          return
        }

        // 若是select查询语句，result返回的是一个数组,
        // 若是增删改则返回的是一个对象，需要判断受影响的行数（affectedRows）
        resolve(result)

        //（释放连接资源）归还到连接池中
        connection.release()
      })
    })
  })
}

module.exports = excuteSql
